#ifndef DATA_PROCESSOR_H
#define DATA_PROCESSOR_H

/*****************************************************************************************
  @Copyright  2020-2021
  @Date       2021-03-15
  @Author     qiaowei
  @Contact    weiweiqiao@126.com
  @Version    1.0
  @Brief      数据操作类，被Window_manager类调用。根据传入的数据对网络数据进行处理
  @Other      none
  @History    none
  @Functions
      sl_get_host_info(bool flag)：获取主机网络信息
      protocol_name(QAbstractSocket::NetworkLayerProtocol protocol)：获取主机网络信息，以字符
          串形式返回
******************************************************************************************/

#include <QObject>
#include <QAbstractSocket>

class Data_processor : public QObject
{
    Q_OBJECT

public:
    explicit Data_processor(QObject *parent = nullptr);

public slots:
    /***************************************************************************
     @date     2021-03-14
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    获取主机网络信息
     @param    flag 用户是否选择只显示IPv4的标志位
    ***************************************************************************/
    void sl_get_host_info(bool flag);

signals:
    /***************************************************************************
     @date     2021-03-14
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    传递主机网络信息
    ***************************************************************************/
    void si_host_info(QStringList list);

private:
    /***************************************************************************
     @date     2021-03-14
     @author   qiaowei
     @contact  weiweiqiao@126.com
     @version  1.0
     @brief    获取主机网络信息，以字符串形式返回
     @param    protocol 主机网络协议
     @return   QString类型主机网络协议
    ***************************************************************************/
    QString protocol_name(QAbstractSocket::NetworkLayerProtocol protocol);
};

#endif // DATA_PROCESSOR_H
